The working environment of a computer is constituted by the whole complex of microprograms (known as firmware), programs constituting the operative system (known as system software) and application programs oriented for a given application (known as the system library), which enable the physical apparatus of which it is composed to solve specific classes of problems such as accounting problems, data collection problems (known as data entry), scientific problems, etc.
The machines on the market at the present time are sold by the maker together with a specific firmware/software environment which enables a specific class of concrete problems to be solved.
One therefore speaks of "scientific microcomputers," "accounting microcomputers," "data entry microcomputers," "terminal microcomputers" and so on.
It follows that the user of such machines, by acquiring one of them, can execute only and always that specific class of programs which is defined by the working environment associated with the machine.
Even if some of these microcomputers, such as, for example, scientific microcomputers, allow a series of special functions (such as, for instance, statistical functions, mathematical functions and others) to be introduced by means of a connectable external memory (of the read-only type, known also as ROM memories), they do not enable the working environment of the computer to be fully changed.
There is also known a computer having a plurality of independent instruction decoders in which each decoder enables a single instruction to be executed. By combining the decoders, it is possible to obtain various groups or sets of instructions according to the design requirements of the system. This computer does not allow the operator to vary the working environment according to the requirements demanded by the work to be executed.